//
//  NetworkTool.h
//  HealthyMall
//
//  Created by imax on 2017/6/10.
//  Copyright © 2017年 白沙科技. All rights reserved.
//

#import <AFNetworking/AFNetworking.h>

typedef enum : NSUInteger {
    CGNetworkMethodGET = 0,
    CGNetworkMethodPOST
} CGNetWorkMethod;
/// 网络请求回调类型
///
/// @param result 返回结果
/// @param error  错误信息
typedef void (^CGRequestCallBack)(id result, NSString * error);

/** 请求失败的Block */
typedef void(^HttpRequestFailed)(NSError *error);

/** 上传或者下载的进度, Progress.completedUnitCount:当前大小 - Progress.totalUnitCount:总大小*/
typedef void (^HttpProgress)(NSProgress *progress);

@interface NetworkRequestTool : AFHTTPSessionManager

+ (instancetype)sharedNetworkTool;


/// 网络请求，封装了GET和POST
/// @param URLString  baseURL之后的地址
/// @param parameters 请求参数
/// @param finished   返回回调
- (void)GET:(NSString *)URLString parameters:(id)parameters finished:(CGRequestCallBack)finished;

- (void)POST:(NSString *)URLString parameters:(id)parameters finished:(CGRequestCallBack)finished;

/**
 *  上传图片文件
 *
 *  @param URL        请求地址
 *  @param parameters 请求参数
 *  @param images     图片数组
 *  @param name       文件对应服务器上的字段
 *  @param fileName   文件名
 *  @param mimeType   图片文件的类型,例:png、jpeg(默认类型)....
 *  @param progress   上传进度信息
 */
- (void)uploadWithURL:(NSString *)URL parameters:(NSDictionary *)parameters images:(NSArray<UIImage *> *)images name:(NSString *)name fileName:(NSString *)fileName mimeType:(NSString *)mimeType progress:(HttpProgress)progress success:(CGRequestCallBack)finished failure:(HttpRequestFailed)failure;



@end
